home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / linux / src / atalnx_3.lzh / atari-linux-0.01pl3 / tools / atari / bootinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-04  |  2.1 KB  |  105 lines

  1. /*
  2. ** bootinfo.h -- Defintion of the Linux/68K boot information structure
  3. **
  4. ** Copyright 1994 by Björn Brauel
  5. **
  6. ** 5/2/94 Roman Hodek:
  7. **   Added bi_atari part of the machine dependant nion bi_un; for now it
  8. **     contains just a model field to distinguish between TT and Falcon.
  9. **
  10. ** This file is subject to the terms and conditions of the GNU General Public
  11. ** License.  See the file README.legal in the main directory of this archive
  12. ** for more details.
  13. **
  14. */
  15.  
  16. #ifndef BOOTINFO_H
  17. #define BOOTINFO_H
  18.  
  19.  
  20. /*
  21.  * CPU and FPU types
  22.  */
  23. #define CPU_68020    (1)
  24. #define CPU_68030    (2)
  25. #define CPU_68040    (4)
  26. #define CPU_MASK     (31)
  27. #define FPU_68881    (32)
  28. #define FPU_68882    (64)
  29.  
  30. #define NUM_MEMINFO  4
  31.  
  32. #define MACH_AMIGA   1
  33. #define MACH_ATARI   2
  34. #define MACH_MAC     3
  35.  
  36. #define CL_SIZE      (80)
  37.  
  38.  
  39. /* bi_Amiga and bi_Mac not present here, sorry */
  40.  
  41. struct bi_Amiga {
  42.     int        dummy;
  43. };
  44.  
  45. struct bi_Mac {
  46.     int        dummy;
  47. };
  48.  
  49. /* Atari specific part of bootinfo */
  50.  
  51. typedef enum {
  52.     ATARI_TT, ATARI_FALCON        /* to be continued... */
  53. } AtariModel;
  54.  
  55. struct bi_Atari {
  56.     AtariModel    model;            /* needs not be initialized by bootstrap! ---
  57.                                    model is determined at run time in
  58.                                    config_atari() */
  59. };
  60.  
  61. struct mem_info {
  62.     unsigned long addr;        /* physical address of memory chunk */
  63.     unsigned long size;        /* length of memory chunk (in bytes) */
  64. };
  65.  
  66. struct bootinfo {
  67.     unsigned long
  68.      machtype;            /* machine type */
  69.  
  70.     unsigned long
  71.     cputype;            /* system CPU & FPU */
  72.     
  73.  
  74.     struct mem_info
  75.     memory[NUM_MEMINFO]; /*         memory description */
  76.  
  77.     short
  78.     num_memory;            /* # of memory blocks found */
  79.  
  80.     unsigned long
  81.     ramdisk_size;            /* ramdisk size in 1024 byte blocks */
  82.  
  83.     unsigned long
  84.     ramdisk_addr;            /* address of the ram disk in mem */
  85.  
  86.     char
  87.         command_line[CL_SIZE];        /* kernel command line parameters */
  88.  
  89.     union {
  90.         struct bi_Amiga    bi_ami;
  91.         struct bi_Atari    bi_ata;
  92.         struct bi_Mac    bi_mac;
  93.     } bi_un;
  94. };
  95.  
  96. #define    bi_amiga    bi_un.bi_ami
  97. #define    bi_atari    bi_un.bi_ata
  98. #define    bi_mac        bi_un.bi_mac
  99.  
  100.  
  101. extern struct bootinfo
  102.     boot_info;
  103.  
  104. #endif /* BOOTINFO_H */
  105.